﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Model
{
    /// <summary>
    /// 会员实体模型
    /// </summary>
    public class MembershipBase
    {
        #region 内部字段
        private string userid = "{00000000-0000-0000-0000-000000000000}";
        private string username;
        private string loweredusername;
        private string mobilealias;
        private DateTime birthday;
        private int gender;
        private bool isanonymous;
        private string fullname;
        private DateTime lastactivitydate;
        private string password;
        private int passwordformat;
        private string passwordsalt;
        private string mobilepin;
        private string email; 
        private string loweredemail;
        private string passwordquestion = "";
        private string passwordanswer = "";
        private bool isapproved;
        private bool islockedout;
        private DateTime createdate;
        private DateTime lastlogindate;
        private DateTime lastpasswordchangeddate;
        private DateTime lastlockoutdate;
        private int failedpasswordattemptcount;
        private DateTime failedpasswordattemptwindowstart;
        private int failedpasswordanswerattemptcount;
        private DateTime failedpasswordanswerattemptwindowstart;
        private string comment;
        private int regionid = 0;
        private string regioninfo = "";
        private int countryid = 0;
        private int provinceid = 0;
        private int cityid = 0;
        private int countieId = 0;
        private string address = "";
        private string tel = "";
        private string zip = "";
        private string mobile = "";
        #endregion

        public MembershipBase() { }

        #region 公共属性
        /// <summary>
        /// 
        /// </summary>
        public string UserId
        {
            set { userid = value; }
            get { return userid; }
        }
        /// <summary>
        /// 用户可用积分
        /// </summary>
        public int UserIntegral { get; set; }
        /// <summary>
        /// 用户名
        /// </summary>
        public string UserName
        {
            set { username = value; }
            get { return username; }
        }
        /// <summary>
        /// 用户名(小写)
        /// </summary>
        public string LoweredUserName
        {
            set { loweredusername = value; }
            get { return loweredusername; }
        }
        /// <summary>
        /// 昵称
        /// </summary>
        public string MobileAlias
        {
            set { mobilealias = value; }
            get { return mobilealias; }
        }	
        /// <summary>
        /// 姓名
        /// </summary>
        public string FullName
        {
            set { fullname = value; }
            get { return fullname; }
        }
        /// <summary>
        /// 生日
        /// </summary>
        public DateTime Birthday
        {
            set { birthday = value; }
            get { return birthday; }
        }
        /// <summary>
        /// 性别, 0 男, 1 女, -1 未知
        /// </summary>
        public int Gender
        {
            set { gender = value; }
            get { return gender; }
        }
        /// <summary>
        /// 是否为匿名用户
        /// </summary>
        public bool IsAnonymous
        {
            set { isanonymous = value; }
            get { return isanonymous; }
        }
        /// <summary>
        /// 上次活动时间
        /// </summary>
        public DateTime LastActivityDate
        {
            set { lastactivitydate = value; }
            get { return lastactivitydate; }
        }
        /// <summary>
        /// 密码
        /// </summary>
        public string Password
        {
            set { password = value; }
            get { return password; }
        }
        /// <summary>
        /// 密码格式化表达式
        /// </summary>
        public int PasswordFormat
        {
            set { passwordformat = value; }
            get { return passwordformat; }
        }
        /// <summary>
        /// 密码套接字 
        /// </summary>
        public string PasswordSalt
        {
            set { passwordsalt = value; }
            get { return passwordsalt; }
        }
        /// <summary>
        /// 手机号码
        /// </summary>
        public string MobilePIN
        {
            set { mobilepin = value; }
            get { return mobilepin; }
        }
        /// <summary>
        /// 电子邮件
        /// </summary>
        public string Email
        {
            set { email = value; }
            get { return email; }
        }
        /// <summary>
        /// 电子邮件小写
        /// </summary>
        public string LoweredEmail
        {
            set { loweredemail = value; }
            get { return loweredemail; }
        }
        /// <summary>
        /// 密码提示问题
        /// </summary>
        public string PasswordQuestion
        {
            set { passwordquestion = value; }
            get { return passwordquestion; }
        }
        /// <summary>
        /// 密码提示问题答案
        /// </summary>
        public string PasswordAnswer
        {
            set { passwordanswer = value; }
            get { return passwordanswer; }
        }
        /// <summary>
        /// 审核状态,true 审核, false 未审核
        /// </summary>
        public bool IsApproved
        {
            set { isapproved = value; }
            get { return isapproved; }
        }
        /// <summary>
        /// 锁定状态, true 锁定, false 活动
        /// </summary>
        public bool IsLockedOut
        {
            set { islockedout = value; }
            get { return islockedout; }
        }
        /// <summary>
        /// 
        /// </summary>
        public DateTime CreateDate
        {
            set { createdate = value; }
            get { return createdate; }
        }
        /// <summary>
        /// 
        /// </summary>
        public DateTime LastLoginDate
        {
            set { lastlogindate = value; }
            get { return lastlogindate; }
        }
        /// <summary>
        /// 
        /// </summary>
        public DateTime LastPasswordChangedDate
        {
            set { lastpasswordchangeddate = value; }
            get { return lastpasswordchangeddate; }
        }
        /// <summary>
        /// 最后一次注销时间
        /// </summary>
        public DateTime LastLockoutDate
        {
            set { lastlockoutdate = value; }
            get { return lastlockoutdate; }
        }
        /// <summary>
        /// 登陆密码错误次数
        /// </summary>
        public int FailedPasswordAttemptCount
        {
            set { failedpasswordattemptcount = value; }
            get { return failedpasswordattemptcount; }
        }
        /// <summary>
        /// 
        /// </summary>
        public DateTime FailedPasswordAttemptWindowStart
        {
            set { failedpasswordattemptwindowstart = value; }
            get { return failedpasswordattemptwindowstart; }
        }
        /// <summary>
        /// 
        /// </summary>
        public int FailedPasswordAnswerAttemptCount
        {
            set { failedpasswordanswerattemptcount = value; }
            get { return failedpasswordanswerattemptcount; }
        }
        /// <summary>
        /// 
        /// </summary>
        public DateTime FailedPasswordAnswerAttemptWindowStart
        {
            set { failedpasswordanswerattemptwindowstart = value; }
            get { return failedpasswordanswerattemptwindowstart; }
        }
        /// <summary>
        /// 备注信息
        /// </summary>
        public string Comment
        {
            set { comment = value; }
            get { return comment; }
        }
        /// <summary>
        /// 地区ID
        /// </summary>
        public int RegionId
        {
            set { regionid = value; }
            get { return regionid; }
        }
        /// <summary>
        /// 地区信息，省 | 市 | 区县
        /// </summary>
        public string RegionInfo
        {
            set { regioninfo = value; }
            get { return regioninfo; }
        }
        /// <summary>
        /// 国家
        /// </summary>
        public int CountryId
        {
            set { countryid = value; }
            get { return countryid; }
        }
        /// <summary>
        /// 省份
        /// </summary>
        public int ProvinceId
        {
            set { provinceid = value; }
            get { return provinceid; }
        }
        /// <summary>
        /// 城市
        /// </summary>
        public int CityId
        {
            set { cityid = value; }
            get { return cityid; }
        }
        /// <summary>
        /// 区县
        /// </summary>
        public int CountieId
        {
            set { countieId = value; }
            get { return countieId; }
        }
        /// <summary>
        /// 联系地址
        /// </summary>
        public string Address
        {
            set { address = value; }
            get { return address; }
        }
        /// <summary>
        /// 联系电话
        /// </summary>
        public string Tel
        {
            set { tel = value; }
            get { return tel; }
        }
        /// <summary>
        /// 邮编
        /// </summary>
        public string ZIP
        {
            set { zip = value; }
            get { return zip; }
        }
        /// <summary>
        /// 手机号码
        /// </summary>
        public string Mobile
        {
            set { mobile = value; }
            get { return mobile; }
        }
        #endregion  
    }
}
